package com.dingding.service.account.core.service;

import java.math.BigDecimal;

/**
 * 
 * @ClassName: IUserAccountService 
 * @Description: 用户账户业务操作
 * @author CHEHAUNBO 
 * @date 2016年7月11日 下午5:41:18
 * 
 */
public interface IUserAccountService {

	/**
	 * 
	 * @Description: 扣钱
	 * @param userId 用户ID
	 * @param money 金额
	 * @author CHEHUANBO
	 * @return boolean true 扣除成功   false 扣除失败
	 * 
	 */
	public boolean deductRemainMoney(String userId, BigDecimal money);

	/**
	 * 
	 * @Description: 扣钱（出租车）
	 * @param userId 用户ID
	 * @param money 金额
	 * @author YHQ
	 * @since V2.5.4
	 * @return boolean true 扣除成功   false 扣除失败
	 * 
	 */
	public boolean taxiDeductRemainMoney(String userId, BigDecimal money);
	
	/**
	 * @Description: 充值
	 * @param userId
	 *            用户ID
	 * @param money
	 *            金额
	 * @author CHEHUANBO
	 * @return boolean true 扣除成功 false 扣除失败
	 */
	public boolean recharge(String userId, BigDecimal money);

	
	/**
	 * 
	 * @Title: refunds 
	 * @Description: 给乘客退款(顺风车) 
	 * @param loginId 用户Id
	 * @param fee 退款金额
	 * @author YHQ 
	 * @since V2.5.4
	 * @return boolean    返回类型
	 */
	public boolean refunds(String loginId, BigDecimal fee);
	
	/**
	 * 
	 * @Title: transferAccounts 
	 * @Description: 转账操作
	 * @param loginId 用户Id
	 * @param fee 转账金额
	 * @author YHQ 
	 * @since V2.5.4
	 * @return boolean    返回类型
	 */
	public boolean transferAccounts(String loginId, BigDecimal fee);
	
}
